#!/usr/bin/js

tabla(4)

function Fila ( columnas ){
	this.columnas = columnas;
	this.generarFila = generarFila(columnas);
}

// La funcion fila se encarga de crear una fila
function generarFila ( c ) {

 var devolver = "";
 
 for (var j=1; j<=c; j++ ){
  devolver = devolver+celda( j );
 }
 return devolver
}

function tabla(f) {

 // Como el enunciado indica que el numero de columnas es variable,
 // este sera un numero aleatorio entre 0 y 9.
 var numeroColumnas = Math.floor(9*Math.random());

 print(marca("table"));

 for (var i=1; i<=f; i++ ) {
  print(marca("tr"));

  //Se crea un objeto de la clase Fila
  var fila = new Fila(numeroColumnas);

  print(fila.generarFila);
  print(finmarca("tr"));
 }
 print("</table>");
}

// Funciones auxiliares para generar el codigo HTML
function marca( m ) { 
 return "<"+m+">"; 
} 

function finmarca( m ) { 
 return "</"+m+">"; 
} 

function celda( contenido ) { 
 return marca("td")+contenido+finmarca("td"); 
}
